package com.nbufe.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.nbufe.common.core.domain.R;
import com.nbufe.domain.ResponseResult;
import com.nbufe.domain.entity.IndustoryProduce;
import com.nbufe.domain.form.AddIndustoryProduceForm;
import com.nbufe.domain.form.ModifyIndustoryProduceForm;
import com.nbufe.domain.form.QueryIndustryProduceForm;
import com.nbufe.domain.vo.industry.AddYearMonthSolventVo;
import com.nbufe.domain.vo.industry.YearMonthSolventCo2Vo;

import java.util.List;


/**
 * (IndustoryProduce)表服务接口
 *
 * @author makejava
 * @since 2023-04-01 10:10:33
 */
public interface IndustoryProduceService extends IService<IndustoryProduce> {

    R calTargetYearMonthSolventCo2(YearMonthSolventCo2Vo vo);

    R addTargetYearMonthSolvent(AddYearMonthSolventVo vo);

    Double queryAllMaterialCarbonByMonth(Integer year, Integer month);

    Double queryAllMaterialCarbonByYear(Integer year);

    Double queryTargetYearMaterialCo2(Integer materialId, Integer year);

    ResponseResult pageList(QueryIndustryProduceForm form);

    ResponseResult listAllIndustryProduceMaterial();

    List<Integer> listYears();

    ResponseResult deleteOneOrBatch(List<Integer> ids);

    ResponseResult addIndustoryProduce(AddIndustoryProduceForm form);

    ResponseResult modifyIndustoryProduceInfo(ModifyIndustoryProduceForm form);
}

